Most computer users wish to continue using the same applications software programs when they acquire a new personal computer that includes a faster microprocessor. That is to say, most personal computer users desire new microprocessors to provide backward compatibility with applications software programs designed for older, slower microprocessors. Providing backward compatibility is difficult when an applications program indirectly achieves interval timing by relying upon a minimum amount of time to execute a section of code. The problem is that the interval becomes shorter in duration when the section of code is executed by a faster microprocessor.
U.S. Pat. No. 5,041,962 to Lunsford for "Computer System with Means for Regulating Effective Processing Rates" discusses one solution to the problem of backward compatibility for a personal computer system that includes a local cache memory. Lunsford teaches achieving an effective processing rate that is less than the microprocessor's clock rate to provide backward compatibility. Lunsford uses a timer that periodically generates a FLUSH signal, which is coupled to the local cache memory. In response to the FLUSH signal, the entire contents of the cache memory are invalidated. This prevents the microprocessor from operating from the cache, which slows the microprocessor by forcing it to access the main memory. The microprocessor is also slowed down because it must rebuild the contents of the cache memory after the flush.
A disadvantage of the Lunsford method of regulating effective processing rate is that it cannot be used to achieve small, precise delays in the microprocessor's execution. Flushing write back cache memories causes imprecision because the number of lines that must be written back can vary. As a result, the time required to flush a write back cache is not constant. Rebuilding both write through and write back cache memories causes imprecision because the time required to rebuild a cache depends upon the code it stored.
Another disadvantage of Lunsford's method is the near negation of all benefits of a faster microprocessor by slowing its execution at all time, not just its execution of particular section of code within an applications program.